package com.jy.rhin.model.body.jiankangtj;


import com.jy.rhin.infra.cda.EDataElement;
import com.jy.rhin.infra.cda.XPath;
import com.jy.rhin.infra.cda.XValid;
import com.jy.rhin.model.CodeObject;
import com.jy.rhin.model.ValueUnit;
import lombok.Data;

/**
 * 生活方式
 *
 * @author shenguangyang
 */
@Data
public class ShengHuoFS {
    /** 锻炼频率 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.087.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_087_00))
    CodeObject duanLianPL;

    /** 每次锻炼时间 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.088.00']/../value/width",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_088_00, nullable = true))
    ValueUnit meiCiDLSJ;

    /** 坚持锻炼时间 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.024.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_024_00, nullable = true))
    ValueUnit jianChiDLSJ;

    /** 锻炼方式 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.086.00']/../value/text()",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_086_00))
    String duanLianFS;

    /** 饮食习惯 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.081.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_081_00))
    CodeObject yinShiXG;


    /** 吸烟状况 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.073.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_073_00))
    CodeObject xiYanZK;

    /** 日吸烟量 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.053.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_053_00, nullable = true))
    ValueUnit riXiYL;

    /** 开始吸烟年龄 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.036.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_036_00, nullable = true))
    ValueUnit kaiShiXYNL;

    /** 戒烟年龄 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.032.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_032_00, nullable = true))
    ValueUnit jieYanNL;

    /** 饮酒频率 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.076.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_076_00))
    CodeObject yinJiuPL;

    /** 日饮酒量 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.054.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_054_00, nullable = true))
    ValueUnit riYinJL;

    /** 戒酒标志 true / false */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.030.00']/../value/@value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_030_00, nullable = true))
    String jieJiuBZ;

    /** 戒酒年龄 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.031.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_031_00, nullable = true))
    ValueUnit jieJiuNL;

    /** 开始饮酒年龄 */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.037.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_037_00, nullable = true))
    ValueUnit kaiShiYJNL;


    /** 醉酒标志 true / false */
    @XPath(path = "/entry/organizer/component/observation/code[@code='DE03.00.098.00']/../value/@value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_098_00, nullable = true))
    String zuiJiuBZ;

    /** 饮酒种类 */
    @XPath(path = "/entry/organizer/component/observation/entryRelationship/observation/code[@code='DE03.00.078.00']/../value",
            xValid = @XValid(type = "dataElement", dataElement = EDataElement.DE03_00_078_00, nullable = true))
    CodeObject yinJiuZL;
}
